import VueRouter from "vue-router";
import Vue from 'vue'
import config from "./config";
import {message} from "../utils/message";
import store from "@/store";

// 1.安装
Vue.use(VueRouter);

// 2.创建路由对象
let router = new VueRouter(config);

// next是一个函数，可以通过该函数跳转到指定的路由
router.beforeEach(async function (to, from, next) {
    if (to.meta.auth) {
        // 页面加载检验登录态
        await store.dispatch("user/validLogin");
        // 页面加载获取用户信息
        if(store.state.user.isLogin){
            next()
        } else {
            message.warning("登录已过期，请重新登录！")
            next({name: "Home"});
        }
    } else {
        // 都可以访问
        next();
    }
});

export default router;